package com.javatip.project.deep_learning.predict.mapper;

import com.javatip.project.deep_learning.predict.domain.Predict;
import com.javatip.project.deep_learning.trainMission.domain.TrainMission;

import java.util.List;

/**
 * 识别 数据层
 * 
 * @author 袁伟
 * @date 2024-07-24
 */

public interface PredictMapper 
{
	/**
     * 查询识别信息
     * 
     * @param id 识别ID
     * @return 识别信息
     */
	public Predict selectPredictById(Integer id);
	
	/**
     * 查询识别列表
     * 
     * @param predict 识别信息
     * @return 识别集合
     */
	public List<Predict> selectPredictList(Predict predict);
	
	/**
     * 新增识别
     * 
     * @param predict 识别信息
     * @return 结果
     */
	public int insertPredict(Predict predict);
	
	/**
     * 修改识别
     * 
     * @param predict 识别信息
     * @return 结果
     */
	public int updatePredict(Predict predict);
	
	/**
     * 删除识别
     * 
     * @param id 识别ID
     * @return 结果
     */
	public int deletePredictById(Integer id);
	
	/**
     * 批量删除识别
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deletePredictByIds(String[] ids);

	public List<Predict> queryStatusWaitList();

	public int isTraining();

	public void setTimeToQueue(int id);

	public void setTimeToQueueNull(int id);

    public Integer isPredictNameExists(String name, int userId);

	public List<Predict> selectWaitAndPredictingList();

    public List<Predict> queryStatusPredictingList();

	public List<Predict> selectAllPredictMissionsOrderedByTime();

	public Integer isPredictMissionUnique(int trainMissionId, int datasetId, int userId);

    public List<Predict> selectPredictListWithSameUserId(int currentUserId, Predict predict);
}